const Koa = require('koa');

const app = new Koa();

const bodyparser = require('koa-bodyparser');
const getparams = require('./middleware/getparams');

// const router = require('koa-router')();

const router = require('./router/index');

app.use(bodyparser());  //ctx.request.body

app.use(getparams());

app.use(router.routes());

app.use(router.allowedMethods());

//添加教室号

// router.post('/api/addClassNum',async (ctx) =>{
//     let {classNum} = ctx.request.body;
//     if(classNum){
//         //1.排重
//         let target = await query('select * from classnum where name=?',[classNum]);
//         if(target.length){
//             ctx.body = {
//                 code:4,
//                 msg:'此教室号已存在'
//             }
//         }else{
//             //容错
//             try{
//                 await query('insert into classnum (name) values (?)',[classNum]);
//                 ctx.body = {
//                     code:1,
//                     msg:'添加成功'
//                 }
//             }catch(e){
//                 ctx.body = {
//                     code:0,
//                     msg:e
//                 }
//             }
//         }
//     }else{
//         ctx.body = {
//             code:2,
//             msg:'参数有误'
//         }
//     }
// })

// //教室号删除
// router.delete('/api/delClassNum',async (ctx) => {
//     let {id} = ctx.query;
//     if(id){
//         try{
//             await query('delete from classnum where id=?',[id]);
//             ctx.body = {
//                 code:1,
//                 msg:'删除教室号成功'
//             }
//         }catch(e){
//             ctx.body = {
//                 code:0,
//                 msg:e
//             }
//         }
//     }else{
//         ctx.body = {
//             code:2,
//             msg:'参数有误'
//         }
//     }
// })

// //查询教室号
// router.get('/api/classnum',async (ctx) => {
//     let list = await query('select * from classnum');
//     ctx.body = {
//         code:1,
//         data:list
//     }
// })

// //添加班级
// router.post('/api/addClass',async (ctx) =>{
//     let {name,project,classnum} = ctx.request.body;
//     if(name&&project&&classnum){
//         //容错
//         //1.排重
//         let target = await query('select * from classlist where name=?',[name]);
//         if(target.length){
//             ctx.body = {
//                 code:4,
//                 msg:'此班级号已存在'
//             }
//         }else{
//             try{
//                 await query('insert into classlist (name,project,classnum) values (?,?,?)',[name,project,classnum]);
//                 ctx.body = {
//                     code:1,
//                     msg:'添加成功'
//                 }
//             }catch(e){
//                 ctx.body = {
//                     code:0,
//                     msg:e
//                 }
//             }
//         }
//     }else{
//         ctx.body = {
//             code:2,
//             msg:'参数有误'
//         }
//     }
// })

// //班级修改
// router.post('/api/updateClass',async (ctx) =>{
//     let {project,classnum,id} = ctx.request.body;
//     if(id&&project&&classnum){
//         try{
//             await query('update classlist set project=?,classnum=? where id=?',[project,classnum,id]);
//             ctx.body = {
//                 code:1,
//                 msg:'修改成功'
//             }
//         }catch(e){
//             ctx.body = {
//                 code:0,
//                 msg:e
//             }
//         }
//     }else{
//         ctx.body = {
//             code:2,
//             msg:'参数有误'
//         }
//     }
// })

// //删除班级
// router.delete('/api/delClass',async (ctx) => {
//     let {id} = ctx.query;
//     if(id){
//         try{
//             await query('delete from classlist where id=?',[id]);
//             ctx.body = {
//                 code:1,
//                 msg:'删除班级成功'
//             }
//         }catch(e){
//             ctx.body = {
//                 code:0,
//                 msg:e
//             }
//         }
//     }else{
//         ctx.body = {
//             code:2,
//             msg:'参数有误'
//         }
//     }
// })

// //查询
// router.get('/api/classlist',async (ctx) => {
//     let list = await query('select * from classlist');
//     ctx.body = {
//         code:1,
//         data:list
//     }
// })


// //添加学生
// router.post('/api/addStudent',async (ctx) =>{
//     let {username,num,classname,password,classnum} = ctx.request.body;
//     if(username&&num&&classname&&password&&classnum){
//         //容错
//         //1.排重
//         let target = await query('select * from studentlist where num=?',[num]);
//         if(target.length){
//             ctx.body = {
//                 code:4,
//                 msg:'此学生已存在'
//             }
//         }else{
//             try{
//                 await query('insert into studentlist (username,num,classname,password,classnum) values (?,?,?,?,?)',[username,num,classname,password,classnum]);
//                 ctx.body = {
//                     code:1,
//                     msg:'添加成功'
//                 }
//             }catch(e){
//                 ctx.body = {
//                     code:0,
//                     msg:e
//                 }
//             }
//         }
//     }else{
//         ctx.body = {
//             code:2,
//             msg:'参数有误'
//         }
//     }
// })

// //搜索
// router.get('/api/search',async (ctx) => {
//     let {username,classnum,classname} = ctx.query;

//     let sql = 'select * from studentlist'; //查询所有的

//     if(username || classnum || classname){
//         sql += ' where'
//     }

//     sql += username ? ` username='${username}'` : '';

//     console.log(classnum || classname)

//     if(username && (classnum || classname)){
//         sql += ' and ';
//     }

//     sql += classnum ? ` classnum='${classnum}'` : '';

//     if((username || classnum) && classname){
//         sql += ' and ';
//     }

//     sql += classname ? ` classname='${classname}'` : '';

//     console.log(sql);

//     let list = await query(sql);
//     ctx.body = {
//         code:1,
//         data:list
//     }
// })

app.listen(8888,() => {
    console.log('服务器启动成功')
})


//作业

//1.周考二  做一遍

//2.昨天的前端

//3.弹性盒模型